#pragma once
#include "IMenuState.h"
#include "../SGD Wrappers/SGD_Handle.h"
#include "../SGD Wrappers/SGD_Geometry.h"


class CGameMapSelect :
	public CIMenuState
{
	CGameMapSelect() = default;
	~CGameMapSelect() = default;

	CGameMapSelect(const CGameMapSelect&) = delete;
	CGameMapSelect& operator= (const CGameMapSelect&) = delete;

	SGD::HTexture map1;
	SGD::HTexture map2;

	SGD::HTexture ballp1;
	SGD::HTexture ballp2;
	SGD::HTexture ballp3;
	SGD::HTexture ballp4;

	SGD::Point m_ptPosition1 = { 0, 0 };
	SGD::Vector	m_vtVelocity1 = { 0, 0 };

	SGD::Point m_ptPosition2 = { 700, 0 };
	SGD::Vector	m_vtVelocity2 = { 0, 0 };

	SGD::Point m_ptPosition3 = { 0, 500 };
	SGD::Vector	m_vtVelocity3 = { 0, 0 };

	SGD::Point m_ptPosition4 = { 700, 500 };
	SGD::Vector	m_vtVelocity4 = { 0, 0 };

	SGD::Rectangle map1rec = { 20, 100, 340, 330};
	SGD::Rectangle map2rec = { 20, 350, 340, 580 };

	int m_nMap1 = 0;
	int m_nMap2 = 0;

	bool m_bPlayer1choose = false;
	bool m_bPlayer2choose = false;
	bool m_bPlayer3choose = false;
	bool m_bPlayer4choose = false;


	int m_nCursor = 0;
public:
	static  CGameMapSelect* GetInstance(void);

	virtual void Enter(void);
	virtual void Exit(void);

	virtual bool Input(void);
	virtual void Update(float elapsedTime);
	virtual void Render(void);

	void KeepInWorld();
};

